約 4,434,802 件
https://w.atwiki.jp/m_shige1979/pages/800.html
Java 基本 データ型 演算子 標準入出力 変数・定数 条件判定 繰り返し 配列 文字列操作 数値操作 日付操作 正規表現 ファイル操作 例外処理 スレッド クラス 抽象化 インターフェース パッケージ 外部プログラム起動 分類 ネットワーク データベース GUI JSP Servlet フレームワーク struts struts2
https://w.atwiki.jp/ce00582/pages/3433.html
import java.awt.*; import java.awt.event.*; class game0223 extends Frame implements Runnable{ int x,y; public static void main(String [] args) { Frame f=new game0223(); f.setTitle("game0223"); f.setSize(700,700); f.setBackground(Color.yellow); f.setVisible(true); } game0223(){ Thread th=new Thread(this); th.start(); addWindowListener(new stopwin()); } class stopwin extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } public void run(){ int t; int dx,xmode; int dy,ymode; int mode; int coin; int h; mode=0; x=60; xmode=0; y=40; ymode=0; t=0; while(t 200){ coin=seekcoin(); dx=0; if(xmode 0)xmode=xmode+1; if(xmode==4)xmode=0; h=0; if (coin==2)h=h+1; if (xmode==0)h=h+1; if(h==2)dx=1; h=0; if (coin==3)h=h+1; if (xmode==0)h=h+1; if(h==2)dx=-1; x=x+dx; h=0; if (coin==4)h=h+1; if (xmode==0)h=h+1; if(h==2)xmode=1; coin=seekcoin(); dy=0; if(ymode 0)ymode=ymode+1; if(ymode==4)ymode=0; h=0; if (coin==2)h=h+1; if (ymode==0)h=h+1; if(h==2)dy=1; h=0; if (coin==3)h=h+1; if (ymode==0)h=h+1; if(h==2)dy=-1; y=y+dy; h=0; if (coin==4)h=h+1; if (ymode==0)h=h+1; if(h==2)ymode=1; h=0; if(xmode==2)h=h+1; if(ymode==2)h=0; if(x-y 20)h=h+1; if(h==2)mode=1; h=0; if(ymode==2)h=h+1; if(xmode==2)h=0; if(x-y 20)h=h+1; if(h==2)mode=2; if(mode==1)t=1000; if(mode==2)t=1000; repaint(); try{ Thread.sleep(100); }catch(InterruptedException e){} t=t+1; } repaint(); } public void paint(Graphics g){ g.fillRect(5*x,600,50,50); g.fillRect(5*y,600,50,50); } public static int seekcoin(){ double p; int c; p=Math.random(); c=1; if(p 0.25)c=2; if(p 0.5)c=3; if(p 0.75)c=4; return c; } }
https://w.atwiki.jp/ce00582/pages/3475.html
import java.io.*; import java.awt.*; import java.awt.Graphics; import java.awt.event.*; import java.net.URL; import javax.sound.sampled.*; class game0228 extends Frame implements Runnable{ Frame f; Thread th; int ballx,bally,dx,dy; public static void main(String[] args){ Frame f=new game0228(); f.setSize(700,700); f.setBackground(Color.yellow); f.show(); } game0228(){ addWindowListener(new stopwin()); ballx=100; bally=300; dx=10; dy=7; th=new Thread(this); th.start(); } class stopwin extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } public void paint( Graphics g ) { g.setColor(Color.red); g.drawRect(ballx,bally,20,20); } public void update(Graphics g) { paint(g); } public void run() { int i; for (i=1;i 500;i++){ ballx=ballx+dx; bally=bally+dy; if (ballx 500)dx=-dx; if (ballx 0)dx=-dx; if (bally 500)dy=-dy; if (bally 0)dy=-dy; if (ballx 490){ music(); } if (ballx 10){ music(); } if (bally 490){ music(); } if (bally 10){ music(); } repaint(); try{th.sleep(100);} catch(InterruptedException e) { } } } void music(){ try {URL url = this.getClass().getClassLoader().getResource("sound.wav"); AudioInputStream audioIn = AudioSystem.getAudioInputStream(url); Clip clip = AudioSystem.getClip(); clip.open(audioIn); clip.start(); try{Thread.sleep(100);} catch(InterruptedException e) { } clip.stop(); } catch (UnsupportedAudioFileException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (LineUnavailableException e) {e.printStackTrace();} } }
https://w.atwiki.jp/yoshida2/pages/126.html
import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import javax.swing.event.*; import java.awt.Graphics; import java.awt.Color; public class Alog1 extends Frame{ //コンストラクタ、今は使ってない。 public Alog1() { } public void paint(Graphics g){ g.drawOval(100,100,400,400);//半径200中心点は(300.300) int q=0; for(int i=90;i -270;i-=6){ double x=200*Math.cos(Math.toRadians(i)); double y=200*Math.sin(Math.toRadians(i)); double x2=180*Math.cos(Math.toRadians(i)); double y2=180*Math.sin(Math.toRadians(i)); double x3=190*Math.cos(Math.toRadians(i)); double y3=190*Math.sin(Math.toRadians(i)); if(q%5==0){ g.drawLine((int)x2+300,(int)y2+300,(int)x+300,(int)y+300); }else{ g.drawLine((int)x3+300,(int)y3+300,(int)x+300,(int)y+300); } q++; } } public static void main(String args[]){ Alog1 a = new Alog1(); a.setTitle( アナログ時計 ); a.setSize(600,600); a.setVisible(true); } }
https://w.atwiki.jp/ce00582/pages/3636.html
import java.awt.*; import java.awt.event.*; class game0502 extends Frame implements Runnable{ double x,y,z; double rx,ry; double x1,x2,x3,y1,y2,y3; int modelx[]=new int[1001]; int modely[]=new int[1001]; int modelz[]=new int[1001]; int sx,sy,sz; int n; public static void main(String [] args) { Frame f=new game0502(); f.setTitle("game0502"); f.setSize(700,700); f.setBackground(Color.blue); f.setVisible(true); } game0502(){ n=0; for (sx=1;sx 11;sx++){ for (sy=1;sy 11;sy++){ for (sz=1;sz 11;sz++){ n=n+1; modelx[n]=10*sx+100; modely[n]=10*sy+100; modelz[n]=10*sz+100; } } } x=500; y=0; z=0; rot(x,y,z); x1=rx; y1=ry; x=0; y=500; z=0; rot(x,y,z); x2=rx; y2=ry; x=0; y=0; z=500; rot(x,y,z); x3=rx; y3=ry; Thread th=new Thread(this); th.start(); addWindowListener(new stopwin()); } class stopwin extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } public void run(){ int t; t=1; while(t 100){ repaint(); try{ Thread.sleep(1000); }catch(InterruptedException e){} t=t+1; } repaint(); } public void paint(Graphics g){ int gx,gy; gx=seekgx(x1); gy=seekgy(y1); g.drawLine(100,400,gx,gy); gx=seekgx(x2); gy=seekgy(y2); g.drawLine(100,400,gx,gy); gx=seekgx(x3); gy=seekgy(y3); g.drawLine(100,400,gx,gy); g.setColor(Color.red); for (n=1;n 1001;n++){ rot(modelx[n],modely[n],modelz[n]); gx=seekgx(rx); gy=seekgy(ry); g.fillRect(gx,gy,1,1); } } public int seekgx(double x){ return (int)(100+x); } public int seekgy(double y){ return (int)(400-y); } public void rot(double x,double y,double z){ double theta,phi; double a1,a2,a3,a4; theta = -40*Math.PI/180; phi=60*Math.PI/180; a1=Math.cos(theta); a2=Math.sin(theta); a3=Math.cos(phi); a4=Math.sin(phi); rx=-a2*x+a1*y; ry=-a1*a4*x-a2*a3*y+a4*z; } }
https://w.atwiki.jp/codenameol/pages/12.html
ワードの追加方法 Select language of words から 日本の国旗を選択 Select Which word packs to use から使用するワードパックを選択 [Create your own custom words pack] を選択 ※追加するワードのみでゲームを開始したい場合はコードネームとコードネーム デュエットのチェックを外す テキストをコピペする場合は左の入力エリアに貼り付け テキストファイルを持っている場合は 右の[Click here to browse or drag the file here to upload]にファイルをドラッグ またはクリックし、ローカルフォルダからファイルを選択する ※文字化けする場合はテキストファイルのエンコードをUTF-8に変更 追加したワードの出現比率を変更できます(デフォルトのワードパックを選択している場合) 上:デフォルトのワードパックと合わせて同じ確率でワードが選択されます 中:カスタムパックのワードが必ず1つ以上選択されます 下:カスタムパックのワードが必ず半分以上選択されます
https://w.atwiki.jp/ce00582/pages/3660.html
import java.awt.*; import java.awt.event.*; import java.awt.image.*; class game0513 extends Frame implements Runnable,MouseListener{ PixelGrabber pg; Color col; Image img; int w=250; int h=373; int red,green,blue; int pix[]=new int[w*h]; int memor[][]=new int[h][w]; int memog[][]=new int[h][w]; int memob[][]=new int[h][w]; int mx,nx,m,n; int m1,n1,m2,n2; int ex,ey; int ex1,ey1,ex2,ey2,ex3,ey3,ex4,ey4; int mode; String s1,s2,s3,s4; Image imgc; game0513(){ imgc = Toolkit.getDefaultToolkit().getImage("nagoya.jpg"); addMouseListener(this); s1="img2.jpg"; catchimg(s1); Thread th=new Thread(this); th.start(); } public void run(){ int t; t=1; mode=1; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex1=ex; ey1=ey; t=1; mode=2; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex2=ex; ey2=ey; repaint(); mode=3; t=1; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex3=ex; ey3=ey; repaint(); mode=4; t=1; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex4=ex; ey4=ey; mode=5; m1=ey1; n1=ex1; m2=ey3-ey1; n2=ex2-ex1; repaint(); } public static void main(String[] args) { game0513 f = new game0513(); f.setSize(700,700); f.setBackground(Color.blue) ; f.setVisible(true); f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}}); } public void paint( Graphics g ) { g.setColor(Color.blue); g.fillRect(0,0,700,700); if(mode==1)g.drawString("mode 1",100,600); if(mode==2)g.drawString("mode 2",100,600); if(mode==3)g.drawString("mode 3",100,600); if(mode==4)g.drawString("mode 4",100,600); mx=1; nx=1; for (mx=0;mx h;mx++){ for (nx=0;nx w;nx++){ g.setColor(new Color(memor[mx][nx],memog[mx][nx],memob[mx][nx])); g.fillRect(100+nx,100+mx,1,1); } } g.setColor(Color.red); if(mode==5)g.fillRect(n1,m1,n2,m2); g.fillRect(ex,ey,5,5); if(mode==1)g.drawString("mode 1",100,600); if(mode==2)g.drawString("mode 2",100,600); if(mode==3)g.drawString("mode 3",100,600); if(mode==4)g.drawString("mode 4",100,600); } void catchimg(String s){ img = createImage(w,h); img = Toolkit.getDefaultToolkit().getImage(s); pg = new PixelGrabber(img,0,0,w,h,pix,0,w); try{pg.grabPixels();}catch(InterruptedException ie){} m=0; n=0; for(int i=0;i w*h;i++){ int p = pix[i]; col=new Color(pix[i]); red=col.getRed(); green=col.getGreen(); blue=col.getBlue(); memor[m][n]=red; memog[m][n]=green; memob[m][n]=blue; n=n+1; if (n==w)m=m+1; if (n==w)n=0; } } public void mouseEntered(MouseEvent e){ } public void mouseExited(MouseEvent e){ } public void mousePressed(MouseEvent e){ } public void mouseReleased(MouseEvent e){ } public void mouseClicked(MouseEvent e){ double mex,mey; mey=e.getY() ; mex=e.getX(); ex=(int)mex; ey=(int)mey; } }
https://w.atwiki.jp/ce00582/pages/3235.html
import java.awt.*; import java.awt.event.*; class game0123 extends Frame implements Runnable{ int mode; int t; int px,py; int z[][]=new int[11][11]; int coin; Image img1,img2; public static void main(String [] args) { Frame f=new game0123(); f.setTitle("game0123"); f.setSize(700,700); f.setBackground(Color.white); f.setVisible(true); } game0123(){ img1 = Toolkit.getDefaultToolkit().getImage("mini.jpg"); img2 = Toolkit.getDefaultToolkit().getImage("tokyo.jpg"); setLayout(new FlowLayout()); Button bu1 = new Button("1"); bu1.addActionListener(new beck()); add(bu1); bu1.setActionCommand("c1"); Button bu2 = new Button("2"); bu2.addActionListener(new beck()); add(bu2); bu2.setActionCommand("c2"); Button bu3 = new Button("3"); bu3.addActionListener(new beck()); add(bu3); bu3.setActionCommand("c3"); Button bu4 = new Button("4"); bu4.addActionListener(new beck()); add(bu4); bu4.setActionCommand("c4"); Button bu5 = new Button("5"); bu5.addActionListener(new beck()); add(bu5); bu5.setActionCommand("c5"); setVisible( true ); Thread th=new Thread(this); th.start(); addWindowListener(new stopwin()); } class stopwin extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } class beck implements ActionListener { public void actionPerformed(ActionEvent e) { if ("c1".equals(e.getActionCommand()))coin=1; if ("c2".equals(e.getActionCommand()))coin=2; if ("c3".equals(e.getActionCommand()))coin=3; if ("c4".equals(e.getActionCommand()))coin=4; if ("c5".equals(e.getActionCommand()))coin=5; } } public void run(){ int dx,dy; int h; mode=0; t=0; px=10; py=10; dx=0; dy=0; coin=0; while(mode 50){ if (coin==1)dx=0; if (coin==1)dy=0; if (coin==2)dx=1; if (coin==2)dy=0; if (coin==3)dx=-1; if (coin==3)dy=0; if (coin==4)dx=0; if (coin==4)dy=1; if (coin==5)dx=0; if (coin==5)dy=-1; px=px+dx; py=py+dy; repaint(); try{ Thread.sleep(300); }catch(InterruptedException e){} t=t+1; h=0; if(px 5)h=h+1; if(py 5)h=h+1; if(h==2)mode=100; } repaint(); } public void paint(Graphics g){ if(mode 50){ g.drawImage(img1,100+50*px,50+50*py,100,100,this); g.drawImage(img2,250,250,100,100,this); } if(mode 50){ g.drawImage(img1,100,50,500,500,this); } } }
https://w.atwiki.jp/ce00582/pages/1206.html
import java.awt.*; import java.awt.event.*; public class ex02 { public static void main(String[] args) { Frame ff = new Frame("ex02 練習"); Button bb = new Button("ぽぽ"); ff.setSize(700, 700); ff.add(bb); ff.addWindowListener(new FrameListener()); ff.setVisible(true); } private static class FrameListener extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } }
https://w.atwiki.jp/n-3104/pages/14.html
JUnit4 Mockオブジェクトの利用 ソースの配置フォルダとパッケージ JUnit4 4からはアノテーションが使えてすっきりする。 POJOとして作成できる(TestCaseの継承が不要)。 テストメソッド名に「test」プレフィックスが不要。その代わり@Testアノテーションを付ける。 assertはorg.junit.Assertをstaticインポート。Eclipseのウィザードでクラスを作ると入れておいてくれる。 @Ignoreを利用すると、そのメソッドについてはテストしないように出来る。作成中のテストメソッドに使うと便利。 3までは junit.framework.- パッケージを利用したが、4からは org.junit.- を利用する。 @Parametersを使うことで、テストデータとテストデータの組み合わせの数だけテストを実行することが出来る。 @Test(timeout = 1000)とすることで、テストに掛かる時間にタイムアウトを設けられる。パフォーマンスが重要な処理などで利用できそう。 参考サイト |http //www.okisoft.co.jp/esc/testing/JUnit4-TestNG.html|4の使い方について丁寧に説明しているサイト。 |http //www.devx.com/Java/Article/31983+codeitemarea|JUnitのサイトで紹介されている4の解説サイト。英語だがサンプルコードもあり、概要がよく整理されている。@Parametersの例もある。 |http //www.junit.org/taxonomy/term/12|JUnitのホームページのArticlesのページ。他にも色々リンクがあり、例えばMockオブジェクトの利用法に関するリンクなどもある。 Mockオブジェクトの利用 バグがないプログラムのつくり方|http //www.amazon.co.jp/gp/product/479810714X/に記述があったが、Mockオブジェクトはテストクラスのインナークラスとすると管理がしやすいし、Mockオブジェクト内でassertを行ったり、クラスが呼ばれたかどうかを調べることも出来る。 具体的には、以下のようにHogeとFugaがあった際に、FugaのMockを作ることで以下のテストが出来る。 Hogeが追加された全てのFugaのfugafugaメソッドを実行しているか。HogeTestのcountフィールドを利用して確認している。 HogeがFugaのfugafugaメソッドを呼び出す際に正しくプレフィックスやサフィックスを追加しているか。HogeMock内のassertEqualsで確認している。 しかし、インナークラスにこんな使い方があるとは、勉強になる。 import java.util.ArrayList; import java.util.List; public class Hoge { List Fuga list = new ArrayList Fuga (); public void hogehoge(String message) { for (int i = 0; i list.size(); i++) { Fuga fuga = list.get(i); fuga.fugafuga("+++" + message + "+++"); } } public void addFuga(Fuga fuga) { list.add(fuga); } } public interface Fuga { void fugafuga(String message); } import static org.junit.Assert.assertEquals; import org.junit.Test; public class HogeTest { // HogeによってFugaのfugafugaメソッドが呼ばれた回数 private int count; private class FugaMock implements Fuga { public void fugafuga(String message) { // HogeがFugaのfugafugaを呼び出す際に、プレフィックスとサフィックスを // 正しく追加できているかを確認 assertEquals("+++Hello*+++", message); // HogeがFugaのfugafugaメソッドを実行した回数を確認するためインクリメント count++; } } protected void setUp() { this.count = 0; } @Test public void testHogehoge() { Hoge hoge = new Hoge(); hoge.addFuga(new FugaMock()); hoge.addFuga(new FugaMock()); hoge.hogehoge("Hello*"); assertEquals(2, this.count); } } ソースの配置フォルダとパッケージ バグがないプログラムのつくり方|http //www.amazon.co.jp/gp/product/479810714X/によると、テスト対象のソースと同一パッケージの同一フォルダが良いらしい。理由としては、別フォルダにするとテストクラスの作り忘れが起きやすいからだそうだ。確かにそんな気もするので、今後は同一フォルダに入れるようにしよう。 個人的には、パッケージは同じでもソースフォルダは別にした方が、テストクラス用のユーティリティクラスを作った際などに分かりやすくてよい気もするんだけど。この辺はプロジェクトの規模とメンバーのレベルによるのかな。